<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">

<html>
<head>
<title>TeXFOTBuilder</title>
</head>
<body>
<h1>TeXFOTBuilder: a Generic TeX backend for Jade</h1>
<p><i>By David Megginson, Sebastian Rahtz and
Kathleen Marszalek</i></p>

<h2><a name=introduction>Introduction</a></h2>

<p>The TeXFOTBuilder was initially written by David Megginson, but is
now maintained by Sebastian Rahtz. In a development sponsored by
Novare International (to whom many thanks!), Kathleen Marszalek
drastically improved the table support.
</p><p>
The job of the backend is to map DSSSL flow-objects into generic TeX
macro calls.  Atomic flow objects appear as single
<code>\insert<var>OBJECT</var>{}</code> macro calls, while non-atomic
flow objects appear as nested pairs of
<code>\<var>OBJECT</var>{}</code>..<code>\end<var>OBJECT</var>{}</code>
macro calls.</p>

<p>The <code>\insert<var>OBJECT</var></code> and
<code>\<var>OBJECT</var></code> calls receive a single argument,
which is a list of definitions for inherited and non-inherited
characteristics (see below).  For example, the following DSSSL
handler:</p>

<pre>
(element P
  (make paragraph
	start-indent: 6pt))
</pre>

<p>would generate the following TeX calls:</p>

<pre>
\startPar{\def\StartIndent{6pt}}%
<var>CONTENTS</var>
\endPar{}
</pre>

<p>It is important to note that any characters with values
&gt;255 will appear as <code>\Character{<var>value</var>}</code> macro
calls ie.</p>

<pre>
\Character{1024}
</pre>

<p>In addition to nearly all of the flow-object classes currently
supported by Jade, the TeXFOTBuilder generates two pseudo flow-object
macro calls:</p>

<ul>
<li><code>\FOT{<var>version</var>}</code></li>
<li><code>\endFOT{}</code></li>
</ul>

<p>These are guaranteed to appear at the very beginning and very end
of the .tex output file, and give your macros a chance to grab control
at both points.  The argument to <code>\FOT</code> is the version of
the TeX markup generated by the Jade backend (currently 2). Macro
packages should check this for compatibility.


<p>The output <code>.tex</code> file is not ready to be passed
directly through TeX or LaTeX -- instead, it is necessary to
have TeX macro definitions for all of the flow-object macros, and to
set default values for the characteristics.  The macros can
use of TeX primitives, plain TeX, LaTeX, or any other format
which is convenient.</p>
<p>
A LaTeX macro package for use with the output of this backend has been
developed by <A HREF="mailto:s.rahtz@elsevier.co.uk">Sebastian
Rahtz</A>.  The current stable release can be found on CTAN in <A
HREF="ftp://ftp.tex.ac.uk/pub/archive/macros/jadetex/">macros/jadetex</A>;
experimental releases will be placed at
<A
href="http://www.tug.org/applications/jadetex/">http://www.tug.org/applications/jadetex/</A>
at intervals.


<h2><a name=characteristics>Characteristics</a></h2>

<p>The <var>SETTINGS</var> argument to the flow-object macros will
contain a series of \def statements for both inherited and
non-inherited characteristics.  These will appear only when the
characteristic's value differs from the standard default (in the case
of non-inherited characteristics) or from the current value (in the
case of inherited characteristics).  Since these statements appear as
an argument, they will not take effect until you reference the
parameter explicitly.</p>


<h3><a name=inherited.characteristics>Inherited Characteristics</a></h3>

<p>The characteristics in the following table are inherited -- you
should set these to their default values only once, at the beginning
of the parse (but they should always revert to their previous values
after a flow-object has finished):</p>

<table border=2 cellpadding=4>
<tr>
<th align=left>Characteristic</th>
<th align=left>Default Value</th>
<th align=left>DSSSL Equivalent</th>
<th align=left>Used By</th>
</tr>

<tr>
<td><code>\AsisWrapIndent</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BackgroundColor</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BackgroundLayer</code></td>
<td><code>-1</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BackgroundTile</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BorderAlignment</code></td>
<td><code>center</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BorderOmitAtBreak</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BorderPresent</code></td>
<td><code>1 [true]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BorderPriority</code></td>
<td><code>0</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BottomMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BoxBorderAlignment</code></td>
<td><code>outside </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BoxCornerRadius</code></td>
<td><code>0pt</code></td>
<td><a href="#note.boxcornerradius">[note]</a></td>
</tr>

<tr>
<td><code>\BoxOpenEnd</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BoxSizeAfter</code></td>
<td><code>4pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BoxSizeBefore</code></td>
<td><code>8pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BoxType</code></td>
<td><code>border</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CellAfterColumnMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CellAfterRowMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CellBackground</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CellBeforeColumnMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CellBeforeRowMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CellCrossed</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CellRowAlignment</code></td>
<td><code>start</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Color</code></td>
<td><i>current gray</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Country</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\DisplayAlignment</code></td>
<td><code>start</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\EndIndent</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\EndMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\ExpandTabs</code></td>
<td><code>8</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FieldAlign</code></td>
<td><code>start</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FieldWidth</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FillingDirection</code></td>
<td><code>top-to-bottom</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FirstLineStartIndent</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FloatOutLineNumbers</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FloatOutMarginalia</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FloatOutSidelines</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FontFamilyName</code></td>
<td><code>iso-serif</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FontName</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FontPosture</code></td>
<td><code>upright </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FontProportionateWidth</code></td>
<td><code>medium</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FontSize</code></td>
<td><code>10pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FontStructure</code></td>
<td><code>solid</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FontWeight</code></td>
<td><code>medium</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\FooterMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\GlyphAlignmentMode</code></td>
<td><code>font</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\GlyphReorderMethod</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\GlyphSubstMethod</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\HangingPunct</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\HeaderMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Hyphenate</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\HyphenationKeep</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\HyphenationLadderCount</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\HyphenationMethod</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\HyphenationPushCharCount</code></td>
<td><code>2</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\HyphenationRemainCharCount</code></td>
<td><code>2</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IgnoreRecordEnd</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\ImplicitBidiMethod</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\InhibitLineBreaks</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\InputWhitespaceTreatment</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\JustifyGlyphSpaceMaxAdd</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\JustifyGlyphSpaceMaxRemove</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Kern</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\KernMode</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Language</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LastLineEndIndent</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LastLineJustifyLimit</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LastLineQuadding</code></td>
<td><code>relative</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Layer</code></td>
<td><code>0</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LeftMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Ligature</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineBreakingMethod</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineCap</code></td>
<td><code>butt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineCompositionMethod</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineJoin</code></td>
<td><code>miter</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineNumberSep</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineNumberSide</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineRepeat</code></td>
<td><code>1</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineSep</code></td>
<td><code>1pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineSpacing</code></td>
<td><code>12pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\LineThickness</code></td>
<td><code>1pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Lines</code></td>
<td><code>wrap</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MarginaliaKeepWithPrevious</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MarginaliaSep</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MarginaliaSide</code></td>
<td><code>start</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MathDisplayMode</code></td>
<td><code>??</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MinLeaderRepeat</code></td>
<td><code>1</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\NColumnsSpanned</code></td>
<td><code>1</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\NRowsSpanned</code></td>
<td><code>1</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\NumberedLines</code></td>
<td><code>1 [true]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\OrphanCount</code></td>
<td><code>2</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\PageHeight</code></td>
<td><i>sysdep</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\PageWidth</code></td>
<td><i>sysdep</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\PositionPointShift</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\PrincipalModeSimultaneous</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Quadding</code></td>
<td><code>start</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\RightMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\ScoreSpaces</code></td>
<td><code>1 [true]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\SidelineSep</code></td>
<td><i>required</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\SidelineSide</code></td>
<td><i>required</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Span</code></td>
<td><code>1</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\SpanWeak</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\StartIndent</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\StartMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\TableAutoWidthMethod</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\TableCornerRadius</code></td>
<td><code>0pt</code></td>
<td><a href="#note.tablecornerradius">[note]</a></td>
</tr>

<tr>
<td><code>\TablePartOmitMiddleFooter</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\TablePartOmitMiddleHeader</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\TopMargin</code></td>
<td><code>0pt</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\WidowCount</code></td>
<td><code>2</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\WritingMode</code></td>
<td><code>left-to-right</code></td>
<td><code></code></td>
</tr>
</table>

<h4>Notes</h4>

<ol>
<li><a name=note.boxcornerradius><code>\BoxCornerRadius</code>
combines the <code>box-corner-rounded</code> and
<code>box-corner-radius</code> characteristics (its value is
<code>0pt</code> if box-corner-rounded is <code>#f</code>).</a></li>
<li><a name=note.tablecornerradius><code>\TableCornerRadius</code>
combines the <code>table-corner-rounded</code> and
<code>table-corner-radius</code> characteristics (its value is
<code>0pt</code> if <code>table-corner-rounded</code> is
<code>#f</code>).</a></li>
</ol>


<h3><a name=noninherited.characteristics>Non-Inherited
Characteristics</a></h3>

<p>The characteristics in the following table are not inherited -- you
should set these to their default values at the beginning of
<em>every</em> relevant flow-object, before evaluating the
<var>SETTINGS</var> argument:</p>

<table border=2 cellpadding=4>
<tr>
<th align=left>Characteristic</th>
<th align=left>Default Value</th>
<th align=left>DSSSL Equivalent</th>
<th align=left>Used By</th>
</tr>

<tr>
<td><code>\AlignLeader</code></td>
<td><code>1 [true]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BreakAfter</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BreakAfterPriority</code></td>
<td><code>0       </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BreakBefore</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\BreakBeforePriority</code></td>
<td><code>0       </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Ch</code></td>
<td><i>no default</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\CoalesceId</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\ColumnIndex</code></td>
<td><i>contextual</i></td>
<td><code>column-number [??]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\EntitySystemId</code></td>
<td><i>required</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\EscapementDirection</code></td>
<td><code></code></td>
<td><code>writing-mode</code></td>
</tr>

<tr>
<td><code>\GlyphId</code></td>
<td><i>no default</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IdrefAddress</code></td>
<td><code>??      </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsDisplay</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsDropAfterLineBreak</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsDropUnlessBeforeLineBreak</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsPunct</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsInputTab</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsInputWhiteSpace</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsRecordEnd</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\IsSpace</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Keep</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\KeepWithNext</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\KeepWithPrevious</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Length</code></td>
<td><i>context</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MathClass</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MathFontPosture</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MaxHeight</code></td>
<td><i>contextual</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MaxWidth</code></td>
<td><i>contextual</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MayViolateKeepAfter</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\MayViolateKeepBefore</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\NotationSystemId</code></td>
<td><i>required</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Orientation</code></td>
<td><i>required</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\PositionPointX</code></td>
<td><code>??      </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\PositionPointY</code></td>
<td><code>??      </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\PositionPreference</code></td>
<td><code>0 [#f]</code></td>
<td><code>position-preference</code></td>
</tr>

<tr>
<td><code>\ScaleType</code></td>
<td><code>maxuniform</code></td>
<td><code>scale</code> <a href=note.scale>[note]</a></td>
</tr>

<tr>
<td><code>\ScaleX</code></td>
<td><i>n/a</i></td>
<td><code>scale</code> <a href=note.scale>[note]</a></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\ScaleY</code></td>
<td><i>n/a</i></td>
<td><code>scale</code> <a href=note.scale>[note]</a></td>
</tr>

<tr>
<td><code>\ScoreLength</code></td>
<td><code>??      </code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\ScoreType</code></td>
<td><i>required</i></td>
<td><code>type</code></td>
</tr>

<tr>
<td><code>\Script</code></td>
<td><i>unspecified</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\SpaceAfterConditional</code></td>
<td><code>0 [#f]</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterForce</code></td>
<td><code>0 [#f]</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterMax</code></td>
<td><code>0pt</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterMaxFactor</code></td>
<td><code>0</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterMin</code></td>
<td><code>0pt</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterMinFactor</code></td>
<td><code>0</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterNominal</code></td>
<td><code>0pt</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterNominalFactor</code></td>
<td><code>0</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceAfterPriority</code></td>
<td><code>0</code></td>
<td><code>space-after</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeConditional</code></td>
<td><code>0 [#f]</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeForce</code></td>
<td><code>0 [#f]</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeMax</code></td>
<td><code>0pt</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeMaxFactor</code></td>
<td><code>0</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeMin</code></td>
<td><code>0pt</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeMinFactor</code></td>
<td><code>0</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeNominal</code></td>
<td><code>0pt</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforeNominalFactor</code></td>
<td><code>0</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\SpaceBeforePriority</code></td>
<td><code>0</code></td>
<td><code>space-before</code></td>
</tr>

<tr>
<td><code>\StretchFactor</code></td>
<td><code>0</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\TableWidth</code></td>
<td><i>contextual</i></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\TruncateLeader</code></td>
<td><code>0 [#f]</code></td>
<td><code></code></td>
</tr>

<tr>
<td><code>\Width</code></td>
<td><i>required</i></td>
<td><a href="#note.width">[note]</a></td>
</tr>

</table>

<h4>Notes</h4>

<ol>
<li><a name=note.scale><code>ScaleType</code>, <code>ScaleX</code>,
and <code>ScaleY</code> are all the equivalent of the
<code>scale</code> characteristic: if <code>ScaleType</code> is
<code>0</code> [<code>#f</code>], then <code>ScaleX</code> and
<code>ScaleY</code> become relevant.</a></li>
<li><a name=note.width>The <code>Width</code> characteristic is not
required if <code>table-auto-width</code> feature is present.</a></li>
</ol>

<address>Sebastian Rahtz, 
<a href="mailto:s.rahtz@elsevier.co.uk">s.rahtz@elsevier.co.uk</a>
</address>

</body>
</html>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
End:
-->
